import greenfoot.*;

/**
 * Esta clase deriva las clases del las formas que puede aparecer el jugador 
 * en esta se encuentran los metodos que mueven al jugador y el metodo para saltar 
 * del jugador.
 */
public class Jugador extends Actor
{
    public int posx;
    public int posy;
    static int bandera;
    private int vel;
    public int n = 0;
    private int cont;
    private int tipo;
    GreenfootImage[] jet = new GreenfootImage[3];     
 
    /**
     * Constructor de la clase Jugador aqui se cargan las imagenes en un arreglo para la animacion del jugador princpal
     */
    public Jugador()
    {
       jet[0] = new GreenfootImage("jet1.gif");
       jet[1] = new GreenfootImage("jet.gif");
       jet[2] = new GreenfootImage("jet2.gif");
       
       cont = 0;
        bandera = 0;
    }
    
    /**
     * Metodo para mover al jugador es llamado en las subclases de jugador recibe la velocidad segun el vehiculo
     */
    public void mueve( int vel )
    {
        
        move( vel );
    
    }
    
    /**
     * Este metodo mueve al jugador principal usa diferentes parametros al que mueve los vehiculos
     */
    public void mueveJugador()
    {
         posx = getX();
         posy = getY();
         if( Greenfoot.isKeyDown("right") )
         {
            super.setImage( jet[cont] );
              mueve( 6 );        
              if(cont == 2 ){cont = 0;}
              else{cont ++;}
          
         }
       
          if( Greenfoot.isKeyDown("up") )
          {
             setImage("jet3.gif");
             setLocation(getX(), getY() - 3);
             getImage();     
         }
         else 
         {
           if( posy < 420)  
           {
             setImage("jet1.gif");
             setLocation( getX(), getY()+10 );
           }
           
         }
    }
    
   /** 
    * Este metodo es llamdo en las subclases es para hacer saltar al jugador 
    */ 
   public void jump(  )
    {   
         posx = getX();
         posy = getY();
     
          if( Greenfoot.isKeyDown( "up" ) && n ==0 ) 
           {
              setLocation(getX(), getY() - 10);
           }
          else 
          {
            if( posy < 420)  
            {
                setLocation( getX(), getY()+10 );
                n=1;
            }
            if( posy == 420 )
            {
                n  = 0 ;
            }
        }
    }

   }

